Escreva um programa que valide a entrada de dados do usuário. O programa deve aceitar números de CNPJ no seguinte formato: 99.999.999/9999-99, em que cada 9 representa um dígito. Exija os pontos e o traço no final, verificando a correta quantidade de dígitos.
Resposta:
##############################################################################
# Parte do livro Introdução à Programação com Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Quarta Edição - Março/2024 - ISBN 978-85-7522-886-9
#
# Site: https://python.nilo.pro.br/
#
# Arquivo: capitulo 12/exercicio-12-08.py
##############################################################################
# Funções número, sequência e verifica padrão da listagem 12.5
import re
CNPJ_RE = r"^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$"
# Verifica se entrada é um CNPJ válido, ou seja:
# Uma sequência no formato 99.999.999/9999-99
def cnpj(entrada):
return bool(re.match(CNPJ_RE, entrada))
entradas = [
"12.345.678/9012-34", # Sim
"12.345.678-9012-34", # Não
"12.345.678.9012-34", # Não
"2.345.678/9012-34", # Não
"12.345.678/9012-4", # Não
"99.999.999/9999-99", # Sim
]
for entrada in entradas:
print(f"{entrada}: é um CNPJ? {'Sim' if cnpj(entrada) else 'Não'}")